<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
    <h:body>
        <ui:composition template="/template/base.xhtml">
            <ui:define name="content">
                <p:spacer />
                <p:panel header="Lista de alumnos registrados">
                    <h:form id="form_alumnodt">
                        <p:growl id="growl" showDetail="true" sticky="true" />
                        <p:dataTable var="alumno" value="#{alumnoBean.alumnos}"
                                     id="dtAlumno"
                                     paginator="true"
                                     paginatorPosition="bottom"
                                     paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                     rowsPerPageTemplate="5,10,15"
                                     emptyMessage="No se registraron alumnos"
                                     selection="#{alumnoBean.alumnoSelected}" 
                                     rowKey="#{alumno}"
                                     selectionMode="single">
                            <p:ajax event="rowSelect" listener="#{alumnoBean.onRowAlumno}" update="pnlgFooter"/>

                            <p:column headerText="ID" filterBy="#{alumno.id}">
                                <h:outputText value="#{alumno.id}" />
                            </p:column>
                            <p:column headerText="Nombre" filterBy="#{alumno.persona.nombre}">
                                <h:outputText value="#{alumno.persona.nombre}" />
                            </p:column>
                            <p:column headerText="Apellido" filterBy="#{alumno.persona.apellido}">
                                <h:outputText value="#{alumno.persona.apellido}" />
                            </p:column>
                            <p:column headerText="Institución" filterBy="#{alumno.institucion.descripcion}">
                                <h:outputText value="#{alumno.institucion.descripcion}" />
                            </p:column>
                            <p:column headerText="Teléfono" filterBy="#{alumno.persona.telefono}">
                                <h:outputText value="#{alumno.persona.telefono}" />
                            </p:column>
                            <p:column headerText="E-mail" filterBy="#{alumno.persona.email}">
                                <h:outputText value="#{alumno.persona.email}" />
                            </p:column>
                            <f:facet name="footer">
                                <h:panelGroup id="pnlgFooter">
                                    <p:commandButton value="Nuevo" icon="ui-icon-document" action="alumno" actionListener="#{alumnoBean.clear}"/>
                                    <p:commandButton value="Editar" icon="ui-icon-pencil" action="alumno" disabled="#{!alumnoBean.activeBtnEditar}" />
                                    <p:commandButton value="Borrar" icon="ui-icon-trash" actionListener="#{alumnoBean.borrarAlumno}" disabled="#{!alumnoBean.activeBtnEditar}" update=":form_alumnodt">
                                        <p:confirm header="Borrar Alumno" message="Desea realmente borrar el alumno?" icon="ui-icon-alert" />
                                    </p:commandButton>
                                    <p:confirmDialog global="true" showEffect="fade"
                                                     hideEffect="explode">
                                        <p:commandButton value="Si" type="button"
                                                         styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
                                        <p:commandButton value="No" type="button"
                                                         styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
                                    </p:confirmDialog>
                                </h:panelGroup>
                            </f:facet>
                        </p:dataTable>
                    </h:form>
                </p:panel>
            </ui:define>
        </ui:composition>
    </h:body>
</html>